
import bpy
import numpy as np

import mathutils
import math


import 全局控制.Node.节点和插座基类.bl_节点基类 as 基类
import 全局控制.Node.插座.bl_插座基类 as 插座基类


import 物体.物理管理.engine_物理体创建 as 物理体

import engine.initLIB.load_dll as engineLib
import ctypes




import pdb







class C_Node_物理引擎_添加车辆(基类.C_Node_基类):
	bl_dname = 'bl_node_物理引擎_添加车辆'
	bl_label = '物理引擎_添加车辆'
	
	m_Code = bpy.props.StringProperty()
	
	def init(self, context):
		super(C_Node_物理引擎_添加车辆, self).f_init(context)
		self.inputs.new('C_Socket_I32', name='场景ID')
		self.inputs.new('C_Socket_车辆', name='车辆参数')
		
	def f_toCPP(self):
		engineLib.flexCAPI.f_创建物理引擎添加车辆节点(ctypes.c_wchar_p(self.id_data.name), ctypes.c_wchar_p(self.name), self.f_getPyObject());


class C_NODE_AddMenu_物理引擎_添加车辆(bpy.types.Operator):
	bl_idname = 'node.global_node_physics_add_vehicle'
	bl_label = '物理引擎_添加车辆'
	bl_options = {'REGISTER', 'UNDO'}
	def execute(operator, context):
		bpy.ops.node.add_node(type='C_Node_物理引擎_添加车辆', use_transform=True)
		return {'FINISHED'}















class C_Node_物理引擎_删除车辆(基类.C_SN_基类):
	bl_dname = 'bl_node_物理引擎_删除车辆'
	bl_label = '物理引擎_删除车辆'

	m_Code = bpy.props.StringProperty()
	m_场景 = bpy.props.PointerProperty(type=bpy.types.Scene)
	
	def init(self, context):
		super(C_Node_物理引擎_删除车辆, self).f_init(context)
		self.inputs.new('C_NodeSocket_i', name='场景ID')
		self.inputs.new('C_插座_List_i', name='车辆ID')
		

	def f_update(self, 是否向下传递=False, input插座=None):
		场景ID = self.inputs['场景ID'].f_getData()
		
		super(C_Node_物理引擎_删除车辆, self).f_update(是否向下传递, input插座)
		return False


class C_NODE_AddMenu_物理引擎_删除车辆(bpy.types.Operator):
	bl_idname = 'node.global_node_physics_del_vehicle'
	bl_label = '物理引擎_删除车辆'
	bl_options = {'REGISTER', 'UNDO'}
	def execute(operator, context):
		bpy.ops.node.add_node(type='C_Node_物理引擎_删除车辆', use_transform=True)
		return {'FINISHED'}








classes = (
	C_Node_物理引擎_添加车辆,
	C_NODE_AddMenu_物理引擎_添加车辆,

	C_Node_物理引擎_删除车辆,
	C_NODE_AddMenu_物理引擎_删除车辆,
	
)

def register():
	for c in classes:
		bpy.utils.register_class(c)
		
def unregister():
	for c in classes:
		bpy.utils.unregister_class(c)



		